package xin.codedream.codelog.service;

import xin.codedream.codelog.model.entity.ArticleTag;

import java.util.List;
import java.util.Set;

/**
 * 文章标签功能服务接口
 *
 * @author NGLSL
 * @date 2018/8/19
 */
public interface ArticleTagsService {
    /**
     * 保存文章相关联的标签
     *
     * @param articleTags 文章标签数据
     * @return boolean
     */
    boolean saveArticleTags(List<ArticleTag> articleTags);

    /**
     * 通过文章Id查找标签信息
     *
     * @param articleId 文章Id
     * @return List
     */
    List<ArticleTag> findArticleTagsByArticleId(Long articleId);

    /**
     * 通过文章编号删除文章标签
     *
     * @param articleId 文章编号
     * @param tags      不需要删除的标签编号
     * @return int
     */
    boolean removeArticleTagByArticleId(Long articleId, Set<Long> tags);

    /**
     * 更新文章关联标签
     *
     * @param articleTags 文章关联标签
     * @return boolean
     */
    boolean updateArticleTag(ArticleTag articleTags);
}
